Skip to content

Upgrade workflow images from Ubuntu 22.04 to 24.04#228

Merged
IsaacG merged 3 commits intoexercism:mainfrom
IsaacG:bump.ubuntu
Apr 3, 2026
Merged

Upgrade workflow images from Ubuntu 22.04 to 24.04#228
IsaacG merged 3 commits intoexercism:mainfrom
IsaacG:bump.ubuntu

Conversation

@IsaacG
Copy link
Copy Markdown
Member

@IsaacG IsaacG commented Apr 3, 2026

No description provided.

@IsaacG IsaacG closed this Apr 3, 2026
@IsaacG IsaacG reopened this Apr 3, 2026
@IsaacG IsaacG mentioned this pull request Apr 3, 2026
@IsaacG
Copy link
Copy Markdown
Member Author

IsaacG commented Apr 3, 2026

Binary Search issue

sqlite> .version
SQLite 3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
zlib version 1.2.11
gcc-11.4.0
sqlite> SELECT JSON_GROUP_ARRAY(data.i) FROM (SELECT "[1,0]" AS i UNION SELECT "[3,1]" AS i) AS data;
["[1,0]","[3,1]"]
sqlite> SELECT JSON_GROUP_ARRAY(JSON(data.i)) FROM (SELECT "[1,0]" AS i UNION SELECT "[3,1]" AS i) AS data;
[[1,0],[3,1]]

# vs

sqlite> .version
SQLite 3.45.1 2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1
zlib version 1.3
gcc-13.3.0 (64-bit)
sqlite> SELECT JSON_GROUP_ARRAY(data.i) FROM (SELECT "[1,0]" AS i UNION SELECT "[3,1]" AS i) AS data;
"[""[1,0]"",""[3,1]""]"
sqlite> SELECT JSON_GROUP_ARRAY(JSON(data.i)) FROM (SELECT "[1,0]" AS i UNION SELECT "[3,1]" AS i) AS data;
"[[1,0],[3,1]]"

Rest API issue

sqlite> .version
SQLite 3.37.2 2022-01-06 13:25:41 872ba256cbf61d9290b571c0e6d82a20c224ca3ad82971edc46b29818d5dalt1
zlib version 1.2.11
gcc-11.4.0
sqlite> SELECT json_array("[1,2]");
["[1,2]"]
sqlite> SELECT json_array(json("[1,2]"));
[[1,2]]

vs

sqlite> .version
SQLite 3.45.1 2024-01-30 16:01:20 e876e51a0ed5c5b3126f52e532044363a014bc594cfefa87ffb5b82257ccalt1
zlib version 1.3
gcc-13.3.0 (64-bit)
sqlite> SELECT json_array("[1,2]");
"[""[1,2]""]"
sqlite> SELECT json_array(json("[1,2]"));
"[[1,2]]"

@IsaacG IsaacG merged commit 7cdb99f into exercism:main Apr 3, 2026
2 checks passed
@IsaacG IsaacG added x:action/fix Fix an issue x:size/large Large amount of work x:rep/large Large amount of reputation labels Apr 3, 2026
@IsaacG IsaacG deleted the bump.ubuntu branch April 3, 2026 06:53
@IsaacG
Copy link
Copy Markdown
Member Author

IsaacG commented Apr 3, 2026

This only affects the CI and exercise verificiation and not the test runner so there is no user impact here.

The new versions of the examples works on both 22.04 and 24.04 so there's strictly compliant with more test envs.

This does surface an issue that existing solutions may face when we bump the sqlite3 version on the test runners in a similar manner.

Currently the runner uses alpine-3.18 which uses sqlite3 3.41.2 which is ... in between the two Ubuntu versions.
The latest Alpine version is 3.23.

» for i in {18..23}; do printf '%s ==> %s\n' "alpine:3.$i" "$(docker run -t alpine:3.$i sh -c 'apk add --no-cache sqlite; sqlite3 --version' | tail -n1)"; done
alpine:3.18 ==> 3.41.2 2023-03-22 11:56:21 0d1fc92f94cb6b76bffe3ec34d69cffde2924203304e8ffc4155597af0c191da
alpine:3.19 ==> 3.44.2 2023-11-24 11:41:44 ebead0e7230cd33bcec9f95d2183069565b9e709bf745c9b5db65cc0cbf92c0f (64-bit)
alpine:3.20 ==> 3.45.3 2024-04-15 13:34:05 8653b758870e6ef0c98d46b3ace27849054af85da891eb121e9aaa537f1e8355 (64-bit)
alpine:3.21 ==> 3.48.0 2025-01-14 11:05:00 d2fe6b05f38d9d7cd78c5d252e99ac59f1aea071d669830c1ffe4e8966e84010 (64-bit)
alpine:3.22 ==> 3.49.2 2025-05-07 10:39:52 17144570b0d96ae63cd6f3edca39e27ebd74925252bbaf6723bcb2f6b4861fb1 (64-bit)
alpine:3.23 ==> 3.51.2 2026-01-09 17:27:48 b270f8339eb13b504d0b2ba154ebca966b7dde08e40c3ed7d559749818cb2075 (64-bit)

We probably should update the test runner. But that will cause some pain with the SQLite version bumps. Alpine 3.20 is the oldest version still supported.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

x:action/fix Fix an issue x:rep/large Large amount of reputation x:size/large Large amount of work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant